package com.xueyi.system.auxiliaryReceive.domain.po;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import cn.hutool.json.JSONArray;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xueyi.common.core.web.tenant.base.TBaseEntity;
import com.xueyi.system.auxiliaryReceive.domain.dto.AuxiliaryReceiveDto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.xueyi.common.core.annotation.Excel;

/**
 * 投入品领用 持久化对象
 *
 * @author zlf
 */
@TableName(value = "base_auxiliary_receive", excludeProperty = {"sort", "status"}, autoResultMap = true)
public class AuxiliaryReceivePo extends TBaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 投入品编码
     */
    @Excel(name = "投入品编码")
    @TableField("code")
    private String code;

    /**
     * 采购id
     */
    @Excel(name = "采购id")
    @TableField("procure_id")
    private String procureId;

    /**
     * 采购编码
     */
    @Excel(name = "采购编码")
    @TableField("procure_code")
    private String procureCode;

    /**
     * 投入品id
     */
    @Excel(name = "投入品id")
    @TableField("material_id")
    private String materialId;

    /**
     * 供应商信息
     */
    @Excel(name = "供应商信息")
    @TableField("supplier_id")
    private String supplierId;

    /**
     * 供应商名称
     */
    @Excel(name = "供应商名称")
    @TableField("supplier_name")
    private String supplierName;

    /**
     * 图片
     */
    @Excel(name = "图片")
    @TableField(value = "img", typeHandler = FastjsonTypeHandler.class)
    private JSONArray img;

    /**
     * 生产日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("produced_date")
    private LocalDateTime producedDate;

    /**
     * 购买时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "购买时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("auxiliary_date")
    private LocalDateTime auxiliaryDate;

    /**
     * 购买数量
     */
    @Excel(name = "购买数量")
    @TableField("auxiliary_num")
    private BigDecimal auxiliaryNum;

    /**
     * 单位
     */
    @Excel(name = "单位")
    @TableField("unit")
    private String unit;

    /**
     * 购买负责人id
     */
    @Excel(name = "购买负责人id")
    @TableField("auxiliary_user_id")
    private String auxiliaryUserId;

    /**
     * 购买负责人
     */
    @Excel(name = "购买负责人")
    @TableField("auxiliary_buy_user")
    private String auxiliaryBuyUser;

    /**
     * 附件
     */
    @Excel(name = "附件")
    @TableField(value = "affix", typeHandler = FastjsonTypeHandler.class)
    private JSONArray affix;

    @Excel(name = "批次")
    @TableField("batch")
    private String batch;


    /**
     * 审核人
     */
    @TableField(value = "checker")
    private String checker;

    /**
     * 审核人
     */
    @TableField(value = "check_code")
    private String checkCode;

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getProcureId() {
        return procureId;
    }

    public void setProcureId(String procureId) {
        this.procureId = procureId;
    }

    public String getProcureCode() {
        return procureCode;
    }

    public void setProcureCode(String procureCode) {
        this.procureCode = procureCode;
    }

    public String getChecker() {
        return checker;
    }

    public void setChecker(String checker) {
        this.checker = checker;
    }

    public String getCheckCode() {
        return checkCode;
    }

    public void setCheckCode(String checkCode) {
        this.checkCode = checkCode;
    }

    public String getBatch() {
        return batch;
    }

    public void setBatch(String batch) {
        this.batch = batch;
    }

    public void setMaterialId(String materialId) {
        this.materialId = materialId;
    }

    public String getMaterialId() {
        return materialId;
    }

    public void setSupplierId(String supplierId) {
        this.supplierId = supplierId;
    }

    public String getSupplierId() {
        return supplierId;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public JSONArray getImg() {
        return img;
    }

    public void setImg(JSONArray img) {
        this.img = img;
    }

    public void setProducedDate(LocalDateTime producedDate) {
        this.producedDate = producedDate;
    }

    public LocalDateTime getProducedDate() {
        return producedDate;
    }

    public void setAuxiliaryDate(LocalDateTime auxiliaryDate) {
        this.auxiliaryDate = auxiliaryDate;
    }

    public LocalDateTime getAuxiliaryDate() {
        return auxiliaryDate;
    }

    public void setAuxiliaryNum(BigDecimal auxiliaryNum) {
        this.auxiliaryNum = auxiliaryNum;
    }

    public BigDecimal getAuxiliaryNum() {
        return auxiliaryNum;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getUnit() {
        return unit;
    }

    public void setAuxiliaryUserId(String auxiliaryUserId) {
        this.auxiliaryUserId = auxiliaryUserId;
    }

    public String getAuxiliaryUserId() {
        return auxiliaryUserId;
    }

    public void setAuxiliaryBuyUser(String auxiliaryBuyUser) {
        this.auxiliaryBuyUser = auxiliaryBuyUser;
    }

    public String getAuxiliaryBuyUser() {
        return auxiliaryBuyUser;
    }

    public void setAffix(JSONArray affix) {
        this.affix = affix;
    }

    public JSONArray getAffix() {
        return affix;
    }

}
